/****************************************************************
 **  Nombre: DAORespuestasPosiblesEHE.java                          *
 **  Version: 1.0.0                                             *
 **  Diagrama: GAPI v4.7.1                                      *
 **  Autor: Alberto Castro                        *
 **  Creado: 07-abril-2013
 *   Caso de uso: MPE1,MPE2
 **  Modificado:                                                *
 ***************************************************************/
package DAO;

import AccesoBD.AccesoBaseDatos;
import Dominio.PosibleRespuestaEHE;
import Dominio.PreguntaEHE;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
/**
 * Clase que controla el acceso a las respuestas posibles para las encuestas de habitos de estudio.
 * 
 */
public class DAORespuestasPosiblesEHE {

    private final String TABLA_RESPUESTAS_POSIBLES_EHE = "respuestas_posibles_ehe";
    private final String COLUMNA_CLAVE_RESPUESTAS_POSIBLES_EHE = "cve_respuestas_posibles_ehe";
    private final String COLUMNA_CLAVE_PREGUNTA_EHE = "cve_pregunta_ehe";
    private final String COLUMNA_RESPUESTA1 = "respuesta1";
    private final String COLUMNA_RESPUESTA2 = "respuesta2";
    private final String COLUMNA_RESPUESTA3 = "respuesta3";
    private final String COLUMNA_RESPUESTA4 = "respuesta4";
    private final String COLUMNA_RESPUESTA5 = "respuesta5";
    
    private AccesoBaseDatos acceso;
    private Connection conexion;
/**
 * Constructor de la clase
 */
    public DAORespuestasPosiblesEHE() {
        acceso = new AccesoBaseDatos();
        conexion = acceso.abrirConexion();
    }
/**
 * Cierra la conexion a la base de datos
 */
    public void cerrarConexionAPreguntasEDD() {
        acceso.cerrarConexion(conexion);
    }
/**
 * Busca todas las posibles respuestas de habitos de estudio de determinada pregunta
 * @param preguntaEHE La pregunta de habito de estudio
 * @return Lista de respuestas relacionadas
 */
    public ArrayList<PosibleRespuestaEHE> buscarPosiblesRespuestasEHEPorPreguntaEHe(PreguntaEHE preguntaEHE) {
        ArrayList<PosibleRespuestaEHE> listaPosiblesRespuestasEHE = new ArrayList<PosibleRespuestaEHE>();
        int clavePreguntaEHE = preguntaEHE.getClavePregunta();
        
        ResultSet resultadoBusqueda = null;

        try {
            Statement sentencia = acceso.crearSentenciaBD(conexion);
            String querySearch = "SELECT * FROM " + TABLA_RESPUESTAS_POSIBLES_EHE + " WHERE "
                    + COLUMNA_CLAVE_PREGUNTA_EHE +" = '" + clavePreguntaEHE + "';";
            resultadoBusqueda = sentencia.executeQuery(querySearch);
            
            while(resultadoBusqueda.next()) {
                
                String respuesta1 = resultadoBusqueda.getString(3);
                String respuesta2 = resultadoBusqueda.getString(4);
                String respuesta3 = resultadoBusqueda.getString(5);
                String respuesta4 = resultadoBusqueda.getString(6);
                String respuesta5 = resultadoBusqueda.getString(7);
                                                
                PosibleRespuestaEHE posibleRespuesta1 = new PosibleRespuestaEHE();
                posibleRespuesta1.setRespuesta(respuesta1);
                posibleRespuesta1.setPreguntaEHE(preguntaEHE); 
                PosibleRespuestaEHE posibleRespuesta2 = new PosibleRespuestaEHE();
                posibleRespuesta2.setRespuesta(respuesta2);
                posibleRespuesta2.setPreguntaEHE(preguntaEHE); 
                PosibleRespuestaEHE posibleRespuesta3 = new PosibleRespuestaEHE();
                posibleRespuesta3.setRespuesta(respuesta3);
                posibleRespuesta3.setPreguntaEHE(preguntaEHE); 
                PosibleRespuestaEHE posibleRespuesta4 = new PosibleRespuestaEHE();
                posibleRespuesta4.setRespuesta(respuesta4);
                posibleRespuesta4.setPreguntaEHE(preguntaEHE); 
                PosibleRespuestaEHE posibleRespuesta5 = new PosibleRespuestaEHE();
                posibleRespuesta5.setRespuesta(respuesta5);
                posibleRespuesta5.setPreguntaEHE(preguntaEHE); 
                
                listaPosiblesRespuestasEHE.add(posibleRespuesta1);
                listaPosiblesRespuestasEHE.add(posibleRespuesta2);
                listaPosiblesRespuestasEHE.add(posibleRespuesta3);
                listaPosiblesRespuestasEHE.add(posibleRespuesta4);
                listaPosiblesRespuestasEHE.add(posibleRespuesta5);
                
            }
            

        } catch (SQLException ex) {
            System.out.println("Ocurrió un problema al tratar de buscar las preguntas");
        }
        
        return listaPosiblesRespuestasEHE;
    }
}
